package org.whale.bha.bean.request;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlList;
import javax.xml.bind.annotation.XmlRootElement;

import org.whale.bha.bean.Detail;
import org.whale.bha.bean.ExtendPro;
import org.whale.bha.bean.type.BHABizTypeEnum;
import org.whale.bha.bean.type.BHAUserTypeEnum;


/**
 * 转帐授权
 * @author sshss
 *
 */
@XmlRootElement(name = "request")
@XmlAccessorType(XmlAccessType.FIELD)
public class BHACpTransactionRequest extends BHALoginRequest {

	/**
	 * 出款人用户类型，目前只支持member
	 */
	private BHAUserTypeEnum userType;
	
	/**
	 * 业务类型， 根据不同业务传不同的值
	 */
	private BHABizTypeEnum bizType;
	
	/**
	 * 超过此时间，不允许提交订单(非必传)
	 */
	private String expired ;

	/**
	 * 资金明细记录
	 */
	@XmlElementWrapper(name="details")
    @XmlElement(name = "detail")
	private Set<Detail> details;
	
	private String remark;
	
	/**
	 * 业务扩展属性，根据业务不同，填不同值
	 */
	@XmlElementWrapper(name="extend")   
    @XmlElement(name = "property")
	private List<ExtendPro> extend;
	


	public BHAUserTypeEnum getUserType() {
		return userType;
	}



	public void setUserType(BHAUserTypeEnum userType) {
		this.userType = userType;
	}



	public BHABizTypeEnum getBizType() {
		return bizType;
	}



	public void setBizType(BHABizTypeEnum bizType) {
		this.bizType = bizType;
	}



	public String getExpired() {
		return expired;
	}



	public void setExpired(String expired) {
		this.expired = expired;
	}


	public String getRemark() {
		return remark;
	}



	public void setRemark(String remark) {
		this.remark = remark;
	}



	public Set<Detail> getDetails() {
		return details;
	}



	public void setDetails(Set<Detail> details) {
		this.details = details;
	}


	public List<ExtendPro> getExtend() {
		return extend;
	}



	public void setExtend(List<ExtendPro> extend) {
		this.extend = extend;
	}



	
}
